const path = require('path')
module.exports = {
        entry: './src/index.js',
        output: {
            filename: 'build.js',
            path: path.resolve(__dirname, 'dist'),
            // assetModuleFilename: 'img/[name].[hash:4][ext]'
        },
        module: {
            rules: [{
                    test: /\.css$/,
                    use: [
                            'style-loader',
                            {
                                loader: 'css-loader', // 解决@import导致不能实现前缀
                                options: {
                                    importLoaders: 1, // 1代表往前找一个loader
                                    esModule: false
                                }
                            },
                            'postcss-loader'
                        ] // 执行方式从上往下或者从右往左
                },
                {
                    test: /\.less$/,
                    use: ['style-loader', 'css-loader', 'postcss-loader', 'less-loader'] // 执行方式从上往下或者从右往左
                },
                {
                    test: /\.(png|svg|gif|jpe?g)$/,
                    type: 'asset',
                    generator: {
                        filename: 'img/[name].[hash:4][ext]'
                    },
                    parser: {
                        dataUrlCondition: {
                            maxSize: 500 * 1024
                        }
                    }
                }
                // {
                //     test: /\.(png|svg|gif|jpe?g)$/,
                //     type: 'asset/inline',
                // }
                // {
                //     test: /\.(png|svg|gif|jpe?g)$/,
                //     type: 'asset/resource',
                //     generator: {
                //         filename: 'img/[name].[hash:4][ext]'
                //     }
                // use: [{
                //     loader: 'url-loader',
                //     options: {
                //         name: 'img/[name].[hash:6].[ext]',
                //         limit: 500 * 1024
                //     }
                // }]
                // }
            ]
        }
    }
    /**
     * 占位符
     * [ext]: 扩展名
     * [name]: 文件名
     * [hash]: 文件内容
     * [contentHash]: 文件内容 [hash]一样
     * [hash:<length>]
     * [path]:
     */